package com.grocery.service.impl;

import com.grocery.bean.Cart;
import com.grocery.dao.CartDao;
import com.grocery.service.ICartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;

@Service
public class CartService implements ICartService {
    @Autowired
    CartDao cartDao;

    @Override
    public int add(int productid, int userid) {
        if (cartDao.getcartBypid(productid,userid) == null){
            return cartDao.add(productid,userid,1);
        }else{
            Cart c=cartDao.getcartBypid(productid,userid);
            return cartDao.update(productid,userid,c.getNumber()+1);
        }
    }

    @Override
    public int addnum(int productid, int userid,int number) {
        if (cartDao.getcartBypid(productid,userid) == null){
            return cartDao.add(productid,userid,number);
        }else{
            Cart c=cartDao.getcartBypid(productid,userid);
            return cartDao.update(productid,userid,c.getNumber()+number);
        }
    }

    @Override
    public int delete(int productid, int userid) {
        Cart c=cartDao.getcartBypid(productid,userid);
        if (c.getNumber()>1){
            return cartDao.update(productid,userid,c.getNumber()-1);
        }else{
            return cartDao.delete(productid,userid);
        }
    }

    @Override
    public int drop(int productid, int userid) {
            return cartDao.delete(productid,userid);
    }

    @Override
    public int update(int productid, int userid, int number) {
        return cartDao.update(productid,userid,number);
    }

    @Override
    public List<Cart> getcartData(int userid) {
        return cartDao.getcartData(userid);
    }

    @Override
    public Cart getcartBypid(int productid, int userid) {
        return cartDao.getcartBypid(productid,userid);
    }
}
